
/***********************************
 * 初始化列表界面时候的权限的控制
 * norListButns:列表界面没有权限的按钮 灰化
 * hdListButns：列表界面需要隐藏的按钮 
 ***********************************/
function initListPageRight(dsId,prefix,sflag,canEditButns,hdListButns){
	console.log("列表界面返回的权限的按钮："+canEditButns);
	var aIflag="1";
	var zButnForm="";
	//先把页面上所有的按钮灰化
	if(sflag=="s"){
		zButnForm=prefix+"_queryButn";
		hideAllButns(prefix+"_queryButn");
	}
	else if(sflag=="m"){
		zButnForm=prefix+"_queryButnM";
		hideAllButns(prefix+"_queryButnM");   
	}else{
		if(dsId=='ds_fx_hand_out1'){      //待发货区隐藏按钮的个性化的方法
			hideAllButns("bap_M_UBUTN");   
		}
	} 
	var cdlButns=(canEditButns==null?"":canEditButns).split(";");  		//详情界面有权限的按钮
	//得到有权限点击的按钮，然后显示
	for(var i=0;i<cdlButns.length;i++){
		$("*[code="+cdlButns[i]+"]").show();
		enablePointButns(zButnForm,prefix,cdlButns[i],aIflag);
	}
	$("div[enableQ=true][class=menu-item]").css({"opacity":1});
	$("div[enableQ=true][class=menu-item]").map(function(){
		var clickEvent=$(this).attr("clickEvent");
		$(this).attr("onclick",clickEvent);
	})
}



/****
 * 禁用并灰掉所有的按钮
 * @param formId
 * @return
 */
function disableAllButns(formId){
	$("#"+formId).find("a[isbutn]").each(function(){
		if($(this).attr("menu")!=null){
			$(this).menubutton("disable");
		}else{
			$(this).linkbutton("disable");
		}
	});
}

/****
 * 隐藏并所有的按钮
 */
function hideAllButns(formId){
	$("#"+formId).find("*[isbutn]").hide();
}





/****
 * 启用所有的按钮
 * @param formId
 * @return
 */
function enableAllButns(formId){
	$("#"+formId).find("a[isbutn]").each(function(){
		if($(this).attr("menu")!=undefined&&$(this).attr("menu")!=null&&(this).attr("menu")!=""){
			$(this).menubutton("enable");
		}else{
			$(this).linkbutton("enable");
		}
	});
}



/****
 * 指定的按钮可用
 * @param code
 * @return
 */
function enablePointButns(butnForm,prefix,code,flag){
	$("#"+butnForm).find("a[code="+code+"]").each(function(){
		if($(this).attr("menu")!=null){
			$(this).menubutton("enable");
			//让其下面的按钮
			var idName=$(this).attr("menu").substr(1);       
			$("div[id="+idName+"][class*='menu-top menu']").find("div[class=menu-item]").css({"opacity":"0.5"});
			$("div[id="+idName+"][class*='menu-top menu']").find("div[class=menu-item]").map(function(){
				var clickEvent=$(this).attr("onclick");
				$(this).attr("clickEvent",clickEvent);
				$(this).removeAttr("onclick");
			})
		}else{
			$(this).show();
			$(this).linkbutton("enable");
		}
	});
	$("div[code="+code+"][class=menu-item]").each(function(){
		if(flag=="1"){   //列表界面
			$(this).attr("enableQ","true");
		}else if(flag=="2"){			//详情界面
			$(this).attr("enableA","true");
		}
	});
}







/***********************************
 * 初始化添加和详情界面时候的权限的控制
 * ownAinfoButns:	详情界面显示权限的按钮，变显示在界面上
 * editAinfoButns：  详情界面上可编辑的按钮
 * 	isRColn: 特殊的数据修改权限,或者列权限    T:默认情况下都是可以改的   F:任何情况下都是不可以改的   其他的：字段的权限
 ***********************************/
function initAinfoPageRight(funcId,keyValues,dsId,prefix,flag,sflag){
	var aIflag="2";
	var zButnForm;
	var djId="null";
	if(flag==""){
		alert("#sysright 中 initAinfoPageRight 传入的flag 为空，请检查")
	}
	if(flag=='2'){    //详情界面 传入的是主键值   添加页面，和复制界面传入的是null值
		djId=keyValues.split("-")[1];
	}
	//1.隐藏主表中所有的按钮，如果是主明细数据，那么把明细界面所有的按钮灰化
	if(sflag=="s"){
		zButnForm=prefix+"_S_UBUTN";
		disableAllButns(prefix+"_S_UBUTN");
		hideAllButns(prefix+"_S_UBUTN");
	}
	else if(sflag=="m"){
		zButnForm=prefix+"_M_UBUTN";
		disableAllButns(prefix+"_M_UBUTN");
		hideAllButns(prefix+"_M_UBUTN");
		disableAllButns(prefix+"_itemButns");
		 //如果保存按钮是灰化的，那么批量修改的按钮是不可编辑的
		var clickEvent=$("#"+prefix+"_resetAllDiv").find("#plReset").attr("onclick");
		$("#"+prefix+"_resetAllDiv").find("#plReset").attr("clickEvent",clickEvent);
		$("#"+prefix+"_resetAllDiv").find("#plReset").removeAttr("onclick");
		$("#"+prefix+"_resetAllDiv").find("#plReset").css("color","#CCCCCC");
		$("#"+prefix+"_MXInput").children().attr("disabled","disabled");
	}
	
	
	var ownAinfoButns=new Array();
	var editAinfoButns=new Array();
	var isRColn="";
	$.ajax({
		type:'post',
		url:_m_url+'framework/loadAinfoRight',
		data:{'funcId':funcId,'djId':djId},
		async:false,
		success:function(maps){
			console.log(maps);
			console.log("有权限的按钮："+maps.ownAinfoButns);
			console.log("可点击的按钮："+maps.editAinfoButns);
			console.log("isRColn："+maps.isRColn+"    (@注意    T:单据不锁定     F:单据锁定)");
			ownAinfoButns=(maps.ownAinfoButns==null?"":maps.ownAinfoButns).split(";");  		//详情界面有权限的按钮
			editAinfoButns=(maps.editAinfoButns==null?"":maps.editAinfoButns).split(";");  	//详情界面可点编辑的列
			isRColn=maps.isRColn;  								//特殊权限
		}
	});
	
	
	//2.遍历所有有权限的按钮，并显示在界面上
	for(var i=0;i<ownAinfoButns.length;i++){
		$("#"+zButnForm).find("*[code="+ownAinfoButns[i]+"]").show();
		//比对有权限的按钮指定点击的按钮
		for(var j=0;j<editAinfoButns.length;j++){
			if(ownAinfoButns[i] == editAinfoButns[j]){
				 enablePointButns(zButnForm,prefix,editAinfoButns[j],aIflag);
			}
		}
	}
	
	//3.和有权限的按钮配合使用,返回的是可以点击的按钮,其他的就都是 灰色（点击过的功能的按钮变灰）
	for(var i=0;i<editAinfoButns.length;i++){
		//如果保存按钮可用，那么明细中所有的按钮均可用
		if(editAinfoButns[i].indexOf("SAVE_BUT")>0){   
			var clickE=$("#"+prefix+"_resetAllDiv").find("#plReset").attr("clickEvent")
			$("#"+prefix+"_resetAllDiv").find("#plReset").attr("onclick",clickE);
			$("#"+prefix+"_resetAllDiv").find("#plReset").css("color","black");
			enableAllButns(prefix+"_itemButns");
			$("#"+prefix+"_MXInput").children().removeAttr("disabled");
			if(prefix=='cbc'){  //销售退货单谐音码隐藏
				$("#cbc_addItemBut input[id='cbc_proName']").attr("disabled","disabled");
			}

            //作者对账界面选择单据和自动对账 根据数据判断是否可用
            if(dsId =='ds_zc_authorcheck1;ds_zc_authorcheck_item1') {
                checkBasisAccount();
            }
		}
		//销售退货界面的查看冲减按钮一直可用
		if(dsId=='ds_fx_xs1;ds_fx_xs_item1'){
			enablePointButns(zButnForm,prefix,"cbc_lookCJ",aIflag);
		}
	}
	
	$("#"+zButnForm+" a:not(a[class*='l-btn-disabled'])[menu]").map(function(){
		var idName=$(this).attr("menu").substr(1);
		$("div[id="+idName+"][class*='menu-top menu']").find("div[class=menu-item]").css("opacity",1);
		$("div[id="+idName+"][class*='menu-top menu']").find("div[class=menu-item]").map(function(){
			var clickEvent=$(this).attr("clickEvent");
			$(this).attr("onclick",clickEvent);
		});
	});
	$("#"+zButnForm+" a[class*='l-btn-disabled'][menu]").map(function(){
		var idName=$(this).attr("menu").substr(1);
		$("div[id="+idName+"][class*='menu-top menu']").find("div[class=menu-item]").css("opacity",0.5);
	});
	return isRColn;
}


